SIMATIC WinAC中OPC在分布式SCADA中的應用
2003/9/5 16:28:00
摘 要
本文首先分析了OPC產生的背景,介紹了OPC具有的強大可互操作性和對網絡的支持,使用SIEMENS公司的SIMATIC WinAC插槽型412和S7-200系列PLC,運用OPC技術開發出一套飼料配比分布式測控系統,取得了良好的使用效果和經濟效益。
關鍵詞
OPC(用于過程的自動化) WinAC SCADA(數據采集監控) 飼料配比
The Application of SIMATIC WinAC OPC in Distributed SCADA
Ren Sicheng Wang Shuhe
(Ren Sicheng:The Key Laboratory of Complex Systems and Intelligence Science,Institute of Automation,
Chinese Academy of Sciences, Beijing 100080)
(Wang Shuhe:Information Science and Engineering College, Shandong University,
Shandong University-SIEMENS Electrical Engineering Laboratory, Jinan 250100)
一 引言
微處理器在工業領域的廣泛應用,大大提高了工廠自動化的程度,降低了人們的勞動強度,提高了勞動生產效率。與此同時,工業過程控制本身也發生了日新月異的變化,控制的規模日趨龐大,復雜程度不斷提高,功能也越來越強大。現在的一個實際的過程控制系統中可能包含有成千上萬個不同類型的硬件采集控制設備和相關的監控程序。如何使它們有機協調地在一起工作,成為過程控制領域研究人員當前最為關心的問題。

圖1 傳統的過程控制系統結構
圖1中所示的傳統過程控制系統結構是一種單一、專有的模式,任何一種人機界面(HMI)、數據采集與處理軟件(SCADA)等上位監控軟件或其他應用軟件(如顯示軟件、趨勢圖軟件、數據報表與分析軟件等)在使用某種硬件設備時都需要開發專用的驅動程序。這種結構特點帶來了諸多自身無法克服的問題,新增應用軟件或者硬件設備帶來的只會是驅動程序種類和數量的迅速增長,開發人員大量的時間和精力耗費在重復性編寫通信驅動程序上,原有的驅動程序無法適應升級后的硬件設備。顯然,傳統的過程控制系統結構不能適應過程控制發展的新要求,我們必須突破舊的模式尋求一種新的解決方法。
二 基于OPC(OLE for Process and Control)的過程控制系統結構解決方案
為了解決上述問題,許多世界領先的自動化軟、硬件公司(如SIEMENS公司)與微軟公司合作共同制訂出了OPC標準。OPC標準是一個新的工業過程控制軟件接口標準,定義了應用Microsoft操作系統在基于PC的客戶機之間交換自動化實時數據的方法。

圖2 基于OPC的過程控制系統結構
圖2中的基于OPC過程控制系統結構采用客戶/服務器模式,通常把符合OPC規范的設備驅動程序稱為OPC服務器,而將符合OPC規范的應用軟件統稱為OPC客戶。服務器充當客戶與硬件設備之間的橋梁,客戶對硬件設備的數據讀寫操作由服務器代理完成,客戶不需要同硬件設備直接打交道,或者說客戶是獨立于設備的(即不管現場設備以何種形式存在,客戶都以統一的方式去訪問)。在客戶端和服務器端各自定義了統一的標準“接口”,接口具有不變特性,OPC所提供的接口標準事實上是一種“軟件接口標準”或“軟件總線”,它明確定義了客戶同服務器之間的通信機制,是連接客戶同服務器的橋梁和紐帶。這樣,我們可以自由選擇最符合我們實際要求的軟、硬件產品,然后將它們像“搭積木”一樣組合在一起進行無縫地工作,這一切都來源于OPC所提供的強大互操作性的特點,對此我們可以作一個形象的比喻:盡管家用電器的種類繁多,但它們的電源插頭與插座卻是統一的。可以這樣說,統一的標準接口是OPC的實質和靈魂。
類似于工業組態軟件中的相關概念,OPC規范主要定義了數據訪問規范、報警和事件處理規范及歷史數據訪問規范三部分,對應于每種規范可以實現相應的OPC服務器。OPC數據訪問服務器在結構上由服務器(Server)、組(Group)和項(Item)三級對象組成。在邏輯關系上,上一級對象是下一級對象的父對象,下一級對象則是上一級對象的子對象,OPC數據訪問服務器正是通過這種“集合”的概念來組織和管理其內部結構的。項對象作為結構層次中最基本的單元直接對應著物理硬件設備的某個具體數據單元,項對象作為物理數據的存儲載體,主要包含數據值(當前設備單元中的數據)、時間標簽(當前采集到的數據時間定位)和品質信息(當前采集到的數據可靠程度)等信息。
客戶對硬件設備的數據讀寫操作分為同步和異步兩種方式。同步方式適合于發送、接收數據量較少的場合;相比同步方式,異步方式占用較少的資源,效率更高,適合大數據量的場合,在實際中的應用也更為廣泛。在沒有開發出OPC標準之前,異步方式的存取是不可能的,會導致存取沖突的發生。
OPC除了具有高效的互操作性外,另一顯著特點是能夠方便地實現在分布式環境下的應用,也就是說,客戶和服務器可以位于局域網、廣域網或Internet上的不同計算機上,它同網絡應用緊密結合突破了空間上的限制。為了實現在分布式環境下的應用,OPC采用了分布式組件對象模型(DCOM,Distributed Component Object Model)技術,DCOM是在組件對象模型(COM,Component Object Model)的基礎上進一步擴展得到的,通過DCOM我們可以將現有的服務器和客戶程序轉移到標準化的分布式計算環境中來;另一方面,DCOM負責處理網絡協議低層次的細節問題,從而使我們能夠集中精力解決其他問題。DCOM直接使用現有的網絡協議如TCP/IP、UDP、IPX/SPX以及NetBIOS等,我們可以在不改變網絡現有結構的情況下實現分布式應用,而且我們不用關心具體采用的是何種協議。
三 SIMATIC WinAC中對OPC的支持
SIMATIC WinAC是SIEMENS公司基于PC的自動化套件的核心部分。它在通用的標準PC平臺上,將控制、人機界面、數據處理和通訊等功能組合在一起予以解決;并基于Windows NT/2000操作系統和標準的接口(ActiveX、OPC),作為一種靈活開放的體系結構,便于集成第三方的應用程序(如OPC客戶程序)。SIMATIC WinAC產品系列包括軟件型(基本型、實時型)和插槽型(412、416)兩種,分別適用于不同的應用場合,每種產品均提供了對OPC的功能支持。具體地講,WinAC中的Computing軟件提供了一個OPC服務器,OPC客戶應用程序通過該服務器與控制引擎(如WinLC、CPU 416-2 DP ISA或其他的S7系列PLC等)通訊,并對過程數據進行存取。另外,SIMATIC Computing還允許用戶使用OPC服務器與多個控制引擎建立連接,用戶也可以通過網絡(如局域網)建立與控制引擎的連接。以下OPC客戶程序代碼簡單示范了在分布式環境中如何建立與服務器的連接、創建并管理各級對象和實現對數據的讀寫操作。
CoInitialize(NULL);
//初始化COM
CLSIDFromProgID(L(“OPCServer.WinAC”),&clsid);
//查詢Computing提供的OPC服務器的CLSID
CoCreateInstanceEx(clsid,NULL,CLSCTX_SERVER,pServerInfo,cmq,pResults);
//pServerInfo參數制定要連接的Computing OPC服務器的相關信息,并建立連接
POPCUnknown->QueryInterface(IID_IOPCServer,(viod **)&pOPCServer);
//獲得服務器對象的指針,并進行相關操作
…
AddGroup…
//新建組對象,進行相關操作
Read…
Write…
//數據項讀寫
…
Release…
CoUninitialize…
//釋放接口,客戶程序結束
四 Computing OPC服務器和OPC客戶應用程序在分布式環境中的參數配置
當Computing OPC服務器組件同OPC客戶程序分別運行在網絡上的不同計算機上時,它們之間的通信連接是通過DCOM來完成的。如何對DCOM的參數進行正確的配置,筆者經過大量的實踐摸索,總結出了一套簡單、可行的辦法。配置具體步驟如下:
Computing OPC服務器組件運行時所在的計算機信息:
計算機名:ComputerofServer 用戶名: UserofServer
OPC客戶程序運行時所在計算機信息:
計算機名:ComputerofClient 用戶名: UserofClient
1 對服務器端參數配置。
運行dcomcnfg(由操作系統提供的DCOM參數配置工具),在“應用程序”一欄中選中“OPC_WinAC”,在其屬性對話框中各參數設置如下:
“常規”—“身份驗證級別”—“默認值”;
“位置”—“在這臺計算機上運行應用程序”;
“安全性”—“使用自定義訪問權限”—添加“UserofClient” (允許訪問);
—“使用自定義啟動權限”—添加“UserofClient、Administrators、System、Interactive” (允許訪問);
—“使用自定義配置權限”—添加“UserofServer、UserofClient、Everyone、System、Creator Owner、Power Users、Administrators”;
“身份標識”—“交互式用戶”;
確認返回到“分布式COM配置屬性”窗口后,在“默認屬性”欄中分別設定“在這臺計算機上運行分布式COM”、“默認身份驗證級別”為“連接”、“默認模擬級別”為“匿名”;在“默認安全機制”一欄中的“默認訪問權限”中加入“Everyone、UserofClient”(允許訪問),“默認啟動權限”中加入“Everyone、Interactive、Administrators、System、UserofClient”(允許訪問),“默認配置權限”中加入“UserofServer、Everyone、System、Creator Owner、Power Users、Administrators”。至此,完成服務器端配置。
2 對客戶端參數配置。
運行dcomcnfg,在“應用程序”一欄中選中“OPC_WinAC”,在其屬性對話框中各參數設置如下:
“常規”—“身份驗證級別”—“默認值”;
“位置”—“在下列計算機上運行應用程序”,計算機名:“ComputerofServer”;
“安全性”—“使用自定義訪問權限”—添加“UserofClient、Ever
本文首先分析了OPC產生的背景,介紹了OPC具有的強大可互操作性和對網絡的支持,使用SIEMENS公司的SIMATIC WinAC插槽型412和S7-200系列PLC,運用OPC技術開發出一套飼料配比分布式測控系統,取得了良好的使用效果和經濟效益。
關鍵詞
OPC(用于過程的自動化) WinAC SCADA(數據采集監控) 飼料配比
The Application of SIMATIC WinAC OPC in Distributed SCADA
Ren Sicheng Wang Shuhe
(Ren Sicheng:The Key Laboratory of Complex Systems and Intelligence Science,Institute of Automation,
Chinese Academy of Sciences, Beijing 100080)
(Wang Shuhe:Information Science and Engineering College, Shandong University,
Shandong University-SIEMENS Electrical Engineering Laboratory, Jinan 250100)
一 引言
微處理器在工業領域的廣泛應用,大大提高了工廠自動化的程度,降低了人們的勞動強度,提高了勞動生產效率。與此同時,工業過程控制本身也發生了日新月異的變化,控制的規模日趨龐大,復雜程度不斷提高,功能也越來越強大。現在的一個實際的過程控制系統中可能包含有成千上萬個不同類型的硬件采集控制設備和相關的監控程序。如何使它們有機協調地在一起工作,成為過程控制領域研究人員當前最為關心的問題。

圖1 傳統的過程控制系統結構
圖1中所示的傳統過程控制系統結構是一種單一、專有的模式,任何一種人機界面(HMI)、數據采集與處理軟件(SCADA)等上位監控軟件或其他應用軟件(如顯示軟件、趨勢圖軟件、數據報表與分析軟件等)在使用某種硬件設備時都需要開發專用的驅動程序。這種結構特點帶來了諸多自身無法克服的問題,新增應用軟件或者硬件設備帶來的只會是驅動程序種類和數量的迅速增長,開發人員大量的時間和精力耗費在重復性編寫通信驅動程序上,原有的驅動程序無法適應升級后的硬件設備。顯然,傳統的過程控制系統結構不能適應過程控制發展的新要求,我們必須突破舊的模式尋求一種新的解決方法。
二 基于OPC(OLE for Process and Control)的過程控制系統結構解決方案
為了解決上述問題,許多世界領先的自動化軟、硬件公司(如SIEMENS公司)與微軟公司合作共同制訂出了OPC標準。OPC標準是一個新的工業過程控制軟件接口標準,定義了應用Microsoft操作系統在基于PC的客戶機之間交換自動化實時數據的方法。

圖2 基于OPC的過程控制系統結構
圖2中的基于OPC過程控制系統結構采用客戶/服務器模式,通常把符合OPC規范的設備驅動程序稱為OPC服務器,而將符合OPC規范的應用軟件統稱為OPC客戶。服務器充當客戶與硬件設備之間的橋梁,客戶對硬件設備的數據讀寫操作由服務器代理完成,客戶不需要同硬件設備直接打交道,或者說客戶是獨立于設備的(即不管現場設備以何種形式存在,客戶都以統一的方式去訪問)。在客戶端和服務器端各自定義了統一的標準“接口”,接口具有不變特性,OPC所提供的接口標準事實上是一種“軟件接口標準”或“軟件總線”,它明確定義了客戶同服務器之間的通信機制,是連接客戶同服務器的橋梁和紐帶。這樣,我們可以自由選擇最符合我們實際要求的軟、硬件產品,然后將它們像“搭積木”一樣組合在一起進行無縫地工作,這一切都來源于OPC所提供的強大互操作性的特點,對此我們可以作一個形象的比喻:盡管家用電器的種類繁多,但它們的電源插頭與插座卻是統一的。可以這樣說,統一的標準接口是OPC的實質和靈魂。
類似于工業組態軟件中的相關概念,OPC規范主要定義了數據訪問規范、報警和事件處理規范及歷史數據訪問規范三部分,對應于每種規范可以實現相應的OPC服務器。OPC數據訪問服務器在結構上由服務器(Server)、組(Group)和項(Item)三級對象組成。在邏輯關系上,上一級對象是下一級對象的父對象,下一級對象則是上一級對象的子對象,OPC數據訪問服務器正是通過這種“集合”的概念來組織和管理其內部結構的。項對象作為結構層次中最基本的單元直接對應著物理硬件設備的某個具體數據單元,項對象作為物理數據的存儲載體,主要包含數據值(當前設備單元中的數據)、時間標簽(當前采集到的數據時間定位)和品質信息(當前采集到的數據可靠程度)等信息。
客戶對硬件設備的數據讀寫操作分為同步和異步兩種方式。同步方式適合于發送、接收數據量較少的場合;相比同步方式,異步方式占用較少的資源,效率更高,適合大數據量的場合,在實際中的應用也更為廣泛。在沒有開發出OPC標準之前,異步方式的存取是不可能的,會導致存取沖突的發生。
OPC除了具有高效的互操作性外,另一顯著特點是能夠方便地實現在分布式環境下的應用,也就是說,客戶和服務器可以位于局域網、廣域網或Internet上的不同計算機上,它同網絡應用緊密結合突破了空間上的限制。為了實現在分布式環境下的應用,OPC采用了分布式組件對象模型(DCOM,Distributed Component Object Model)技術,DCOM是在組件對象模型(COM,Component Object Model)的基礎上進一步擴展得到的,通過DCOM我們可以將現有的服務器和客戶程序轉移到標準化的分布式計算環境中來;另一方面,DCOM負責處理網絡協議低層次的細節問題,從而使我們能夠集中精力解決其他問題。DCOM直接使用現有的網絡協議如TCP/IP、UDP、IPX/SPX以及NetBIOS等,我們可以在不改變網絡現有結構的情況下實現分布式應用,而且我們不用關心具體采用的是何種協議。
三 SIMATIC WinAC中對OPC的支持
SIMATIC WinAC是SIEMENS公司基于PC的自動化套件的核心部分。它在通用的標準PC平臺上,將控制、人機界面、數據處理和通訊等功能組合在一起予以解決;并基于Windows NT/2000操作系統和標準的接口(ActiveX、OPC),作為一種靈活開放的體系結構,便于集成第三方的應用程序(如OPC客戶程序)。SIMATIC WinAC產品系列包括軟件型(基本型、實時型)和插槽型(412、416)兩種,分別適用于不同的應用場合,每種產品均提供了對OPC的功能支持。具體地講,WinAC中的Computing軟件提供了一個OPC服務器,OPC客戶應用程序通過該服務器與控制引擎(如WinLC、CPU 416-2 DP ISA或其他的S7系列PLC等)通訊,并對過程數據進行存取。另外,SIMATIC Computing還允許用戶使用OPC服務器與多個控制引擎建立連接,用戶也可以通過網絡(如局域網)建立與控制引擎的連接。以下OPC客戶程序代碼簡單示范了在分布式環境中如何建立與服務器的連接、創建并管理各級對象和實現對數據的讀寫操作。
CoInitialize(NULL);
//初始化COM
CLSIDFromProgID(L(“OPCServer.WinAC”),&clsid);
//查詢Computing提供的OPC服務器的CLSID
CoCreateInstanceEx(clsid,NULL,CLSCTX_SERVER,pServerInfo,cmq,pResults);
//pServerInfo參數制定要連接的Computing OPC服務器的相關信息,并建立連接
POPCUnknown->QueryInterface(IID_IOPCServer,(viod **)&pOPCServer);
//獲得服務器對象的指針,并進行相關操作
…
AddGroup…
//新建組對象,進行相關操作
Read…
Write…
//數據項讀寫
…
Release…
CoUninitialize…
//釋放接口,客戶程序結束
四 Computing OPC服務器和OPC客戶應用程序在分布式環境中的參數配置
當Computing OPC服務器組件同OPC客戶程序分別運行在網絡上的不同計算機上時,它們之間的通信連接是通過DCOM來完成的。如何對DCOM的參數進行正確的配置,筆者經過大量的實踐摸索,總結出了一套簡單、可行的辦法。配置具體步驟如下:
Computing OPC服務器組件運行時所在的計算機信息:
計算機名:ComputerofServer 用戶名: UserofServer
OPC客戶程序運行時所在計算機信息:
計算機名:ComputerofClient 用戶名: UserofClient
1 對服務器端參數配置。
運行dcomcnfg(由操作系統提供的DCOM參數配置工具),在“應用程序”一欄中選中“OPC_WinAC”,在其屬性對話框中各參數設置如下:
“常規”—“身份驗證級別”—“默認值”;
“位置”—“在這臺計算機上運行應用程序”;
“安全性”—“使用自定義訪問權限”—添加“UserofClient” (允許訪問);
—“使用自定義啟動權限”—添加“UserofClient、Administrators、System、Interactive” (允許訪問);
—“使用自定義配置權限”—添加“UserofServer、UserofClient、Everyone、System、Creator Owner、Power Users、Administrators”;
“身份標識”—“交互式用戶”;
確認返回到“分布式COM配置屬性”窗口后,在“默認屬性”欄中分別設定“在這臺計算機上運行分布式COM”、“默認身份驗證級別”為“連接”、“默認模擬級別”為“匿名”;在“默認安全機制”一欄中的“默認訪問權限”中加入“Everyone、UserofClient”(允許訪問),“默認啟動權限”中加入“Everyone、Interactive、Administrators、System、UserofClient”(允許訪問),“默認配置權限”中加入“UserofServer、Everyone、System、Creator Owner、Power Users、Administrators”。至此,完成服務器端配置。
2 對客戶端參數配置。
運行dcomcnfg,在“應用程序”一欄中選中“OPC_WinAC”,在其屬性對話框中各參數設置如下:
“常規”—“身份驗證級別”—“默認值”;
“位置”—“在下列計算機上運行應用程序”,計算機名:“ComputerofServer”;
“安全性”—“使用自定義訪問權限”—添加“UserofClient、Ever

提交
查看更多評論
其他資訊
釋放數字化潛力,西門子以科技創新和開放生態助推可持續發展走深入實
西門子啟動中壓配電年度創新巡展 攜手客戶共同賦能新型電力系統建設
西門子助力水務行業加速應用人工智能
西門子攜數字化和低碳化創新產品和解決方案亮相中國制冷展
西門子Xcelerator迎來首家第三方商店,開放平臺驅動數字化轉型加速落地